package kassa;
/**
 * Write a description of class test here.
 * 
 * @author (Gerben, Nick, Dennis) 
 * @version (v0.1)
 */

import java.util.*;
import java.sql.*;
import java.io.*;
public class Medewerker
{
    BufferedReader toetsenbord = new BufferedReader( new InputStreamReader( System.in) );
    public String naam,wachtwoord,rechten;
    public int nummer;
    
    public Medewerker(int nummer, String naam, String wachtwoord, String rechten){
        this.nummer = nummer;
        this.naam = naam;
        this.wachtwoord = wachtwoord;
        this.rechten = rechten;
        insertMedewerkerData(nummer,naam,wachtwoord,rechten);
    }
    
    public Medewerker(int nummer){
        this.nummer = nummer;
        getMedewerkerData();
    }
    
    /**Getters**/
    public int getNummer(){
        return nummer;
    }
    
    public String getWachtwoord(){
        return wachtwoord;
    }
    public String getNaam(){
        return naam;
    }
    public String getRechten(){
        return rechten;
    }
    /**Setters**/
    public void setMedewerkerNaam(String eenMedewerkerNaam){
        naam = eenMedewerkerNaam;
    }
    public void setMedewerkerWachtwoord(String eenMedewerkerWachtwoord){
        wachtwoord = eenMedewerkerWachtwoord;
    }
    public void setMedewerkerRechten(String eenMedewerkerRechten){
        rechten = eenMedewerkerRechten;
    }
    
    /**PRINT MEDEWERKER**/
    public void printMedewerker(){
        System.out.println( toString()+"\n");
    }
    
    public String toString()
    {
        String a = String.format("%-5d %-20s %-20s",
                                  nummer,naam,rechten);
        return a;                   
    }
    
    public void getMedewerkerData()
    {
        try{
            ResultSet rs = Database.executeSQLStatement("SELECT * FROM medewerker where nummer="+nummer); // Selecteer alles van de tabel scores order op aantal en haal 10 rijen uit de database
            while (rs.next ()) 
            {
                naam  = rs.getString("naam");
                wachtwoord = rs.getString("wachtwoord");
                rechten = rs.getString("rechten");
                               
            }
            rs.close();                   
        }
        catch(Exception e)
        { 
            e.printStackTrace();
        }
    }
    
    public void setMedewerkerData()
    {
        try{
            String sql = ("UPDATE medewerker set naam= '" + naam + "', wachtwoord ='" + wachtwoord + "', rechten = '" + rechten +"'");
            Database.executeUpdateStatement( sql );
        }
        catch (Exception e){
            System.out.println("De gegevens zijn niet gewijzigd in de db");
            e.printStackTrace();
        }
    }
       
    public void insertMedewerkerData(int nummer, String naam, String wachtwoord, String rechten)
    {
         try{
            String sql = ("INSERT into medewerker set naam= '" + naam + "', wachtwoord ='" + wachtwoord + "', rechten = '" + rechten +"'");
            Database.executeUpdateStatement( sql );
        }
        catch (Exception e){
            System.out.println("De gegevens zijn niet gewijzigd in de db");
            e.printStackTrace();
        }
    }
    
    public void delMedewerkerData(int nummer)
    {
         try{
            String sql = ("DELETE from medewerker WHERE nummer='"+ nummer + "'");
            Database.executeUpdateStatement( sql );
        }
        catch (Exception e){
            System.out.println("Het artikel is niet verwijderd");
            e.printStackTrace();
        }
    }
}